#include <stdio.h>
#include <stdlib.h>


int main()
{
    unsigned int ncores=0,nthreads=0,ht=0;

    asm volatile("cpuid": "=a" (ncores), "=b" (nthreads) : "a" (0xb), "c" (0x1) : );

    ht=(ncores!=nthreads);

    printf("Cores: %d\nThreads: %d\nHyperThreading: %s\n",ncores,nthreads,ht?"Yes":"No");

    system("pause");
return 0;
}